<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:c="http://java.sun.com/jsp/jstl/core"
                xmlns:fn="http://java.sun.com/jsp/jstl/functions"
                xmlns:ds="http://deltaset.org/deltaset-faces"
                xmlns:mf="http://java.sun.com/jsf/composite/deltaset.meta/flow"
                xmlns:composite="http://java.sun.com/jsf/composite">
    <composite:interface>
        <composite:attribute name="model" required="true"/>
        <composite:attribute name="fields" required="true"/>
        <composite:attribute name="meta" required="true"/>
    </composite:interface>

    <composite:implementation>
        <c:forEach items="#{cc.attrs.fields}" var="field">
            <td><mf:output-list meta="#{cc.attrs.meta}"
                                field="#{field}" 
                                value="#{cc.attrs.model[field.propertyName]}"/></td>
        </c:forEach>
        <td><h:outputText value="#{cc.attrs.meta.getModelId(cc.attrs.model)}"/></td>
    </composite:implementation>

</ui:composition>
